﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using TeamDev.JQuery.Internals;

public static class sel
{
  #region Basic Selectors

  public static jqSimpleSelector Document { get { return new jqSimpleSelector("document"); } }
  public static jqSimpleSelector All { get { return new jqSimpleSelector("*"); } }
  public static jqSimpleSelector Element(string name) { return new jqSimpleSelector(name); }
  public static jqSimpleSelector Class(string name) { return new jqSimpleSelector(string.Format(".{0}", name)); }
  public static jqSimpleSelector Id(string id) { return new jqSimpleSelector(string.Format("#{0}", id)); }

  #endregion

  #region Elements Selectors

  [Description("Selects all elements of type button and button elements")]
  public static jqSimpleSelector el_button { get { return new jqSimpleSelector(":button"); } }

  [Description("Selects all elements of type checkbox.")]
  public static jqSimpleSelector el_checkbox { get { return new jqSimpleSelector(":checkbox"); } }

  [Description("Matches all elements that are checked.")]
  public static jqSimpleSelector el_checked { get { return new jqSimpleSelector(":checked"); } }

  [Description("Selects all elements that are disabled.")]
  public static jqSimpleSelector el_disabled { get { return new jqSimpleSelector(":disabled"); } }

  [Description("Selects all elements that are enabled.")]
  public static jqSimpleSelector el_enabled { get { return new jqSimpleSelector(":enabled"); } }

  [Description("Selects all elements of type file.")]
  public static jqSimpleSelector el_file { get { return new jqSimpleSelector(":file"); } }

  [Description("Selects all elements of type image.")]
  public static jqSimpleSelector el_image { get { return new jqSimpleSelector(":image"); } }

  [Description("Selects all input, textarea, select and button elements.")]
  public static jqSimpleSelector el_input { get { return new jqSimpleSelector(":input"); } }

  [Description("Selects all elements of type password.")]
  public static jqSimpleSelector el_password { get { return new jqSimpleSelector(":password"); } }

  [Description("Selects all elements of type radio.")]
  public static jqSimpleSelector el_radio { get { return new jqSimpleSelector(":radio"); } }

  [Description("Selects all elements of type reset.")]
  public static jqSimpleSelector el_reset { get { return new jqSimpleSelector(":reset"); } }

  [Description("Selects all elements that are selected.")]
  public static jqSimpleSelector el_selected { get { return new jqSimpleSelector(":selected"); } }

  [Description("Selects all elements of type submit.")]
  public static jqSimpleSelector el_submit { get { return new jqSimpleSelector(":submit"); } }

  [Description("Selects all elements of type text.")]
  public static jqSimpleSelector el_text { get { return new jqSimpleSelector(":text"); } }

  [Description("Selects all elements that are hidden.")]
  public static jqSimpleSelector el_hidden { get { return new jqSimpleSelector(":hidden"); } }

  [Description("Selects all elements that are visible.")]
  public static jqSimpleSelector el_visible { get { return new jqSimpleSelector(":visible"); } }

  #endregion
}
